// const OSS = require('ali-oss');
let app_config = require('./app_config.js')

// let ossConfig = {
// 	// yourRegion填写Bucket所在地域。以华东1（杭州）为例，Region填写为oss-cn-hangzhou。
// 	region: 'oss-cn-shanghai',
// 	// 从STS服务获取的临时访问密钥（AccessKey ID和AccessKey Secret）。
// 	accessKeyId: 'LTAI5tCHCvHHQsq439ositRW',
// 	accessKeySecret: 'gpJ35NHxffyZFyuXgfoGv3xPCVr0z5',
// 	// 从STS服务获取的安全令牌（SecurityToken）。
// 	// stsToken: 'yourSecurityToken',
// 	// refreshSTSToken: async () => {
// 	// // 向您搭建的STS服务获取临时访问凭证。
// 	//   const info = await fetch('your_sts_server');
// 	//   return {
// 	// 	accessKeyId: info.accessKeyId,
// 	// 	accessKeySecret: info.accessKeySecret,
// 	// 	stsToken: info.stsToken
// 	//   }
// 	// },
// 	// 刷新临时访问凭证的时间间隔，单位为毫秒。
// 	// refreshSTSTokenInterval: 300000,
// 	// 填写Bucket名称。
// 	bucket: 'pbnz-acctopen-pc'
// }
// let oss = new OSS(ossConfig);


// var idCardConfig = Object.assign({},ossConfig,{bucket:'pbnz-idcard',region: 'oss-cn-hangzhou'})
// let idCardOss = new OSS(idCardConfig);

// let getOss = function(){
// 	return oss
// }
// let getIdCardOss = function(){
// 	return idCardOss
// }
// let buildOss = function(config){
// 	var _config = Object.assign({},ossConfig,config)
// 	return new OSS(_config);
// }

// let getSignatureUrl = function(path, config){
// 	if(!path) return ''
// 	var url = new URL(path)
// 	var oss = config?buildOss(config):getOss()
// 	return oss.signatureUrl(url.pathname);
// }

// let getIdCardUrl = function(path){
// 	if(!path) return ''
// 	var url = new URL(path)
// 	return idCardOss.signatureUrl(url.pathname);
// }


let ossTokenUp = function(file){
	return new Promise((resolve, reject) => {
		uni.request({
			url:app_config.domain + 'api/get_oss_token',
			data:{
				dir: 'upload/',
			},
			success: (res)=>{
				let ossConfig = res.data.data
				console.log(ossConfig)
				let key = (ossConfig.dir||"") + buildFilename();
				uni.uploadFile({
					url: ossConfig.host, //仅为示例，非真实的接口地址
					filePath: file,
					name: 'file',
					formData: {
						'OSSAccessKeyId': ossConfig.accessid,
						'policy': ossConfig.policy,
						'signature': ossConfig.signature,
						'expire': ossConfig.expire,
						'success_action_status': '200',
						'key': key,
					},
					success:(res)=>{
						console.log(res)
						if(res.statusCode == 200){
							var file_path = ossConfig.host+"/"+key
							// console.log(file_path)
							// setTimeout(()=>{
							// 	resolve(file_path)
							// 	// console.log(file_path)
							// },1000)
							checkUrl(file_path, 0, (url)=>{
								console.log(url)
								resolve(url)
							})
						}
					},
					fail: (res) => {
						reject('上传失败')
					}
				});
			}
		});
	})
	
}

let checkUrl = function(url, num = 0, fn){
	// let loading: string;
	// 图片地址
	// const url = 'https://profile.csdnimg.cn/2/1/8/3_s_y_w123';
	if(num>=10)fn&&fn(url)
	
	const IMG = new Image();
	IMG.src = url;
	IMG.onload = ()=>{
		// loading = url;
		fn&&fn(url)
	}
	IMG.onerror = ()=>{
		setTimeout(()=>{
			checkUrl(url, ++num, fn)
		},1000)
		// loading = 'assets/image/no.jpg';
	}
}

let buildFilename = function(){
	var d = new Date();
	return ""+d.getFullYear()+d.getMonth()+d.getDate()+d.getMinutes()+d.getSeconds()+(Math.floor(Math.random()*(9999-1000))+1000);
}

module.exports = {
	// getOss,
	// getIdCardOss,
	// buildOss,
	// getSignatureUrl,
	// getIdCardUrl,
	ossTokenUp
}